The present disclosure relates generally to computer networking, and more specifically to configuring a computing device to use a communication protocol.
In known systems for enabling a computing device to communicate using a communication protocol, a computing device receives an Interface Control Document (ICD) that describes how often and what types of data are communicated among two or more computing devices using the communication protocol, and generates object code capable of managing communication pursuant to the interface control document. A developer of a software application links the generated object code to the software application, thereby enabling the software application to transmit and receive data using the communication protocol in accordance with the ICD. In many such systems, the object code is associated with a particular programming language, thereby making it difficult or impossible to link the object code to a software application developed in a different programming language. Moreover, changes to the software application may require the object code to be regenerated, as it is tightly coupled with the functionality of the software application. Additionally, given that the object code associated with managing communications is tightly coupled to the software application, a host processor that executes the software application is also burdened with managing the communications using the communication protocol in accordance with the ICD, rather than being able to offload such operations to a bus processor specifically designed for handling such operations.
Accordingly, it would be beneficial to enable a computing device to be configured to use a communication protocol in way that does not limit software applications to a particular programming language in order to use the communication protocol in accordance with an ICD, does not require regeneration of object code associated with communication protocol management functions each time a software application relying on such communications is changed, and does not burden a processor executing the software application with also managing low-level details of the communication protocol.